import store from '@/store'
import router from '@/router'
router.beforeEach(async(to, from, next) => {
  if (store.getters.token) {
    // 已登录
    if (to.path === '/login') {
      // 如果是登录页面就强制跳到首页
      next('/')
    } else {
      // 在进入到首页之前先判断是否有用户信息
      // 如果没有先获取在跳转页面
      // 注意，一定要判断用户信息的userId,不然空对象{},值为 true
      if (!store.state.user.userInfo.userId) {
        // 如果没有就获取用户信息
        await store.dispatch('user/getUserInfo')
      }
      // 否则就全部通过
      next()
    }
  } else {
    // 未登录
    const whiteList = ['/login', '/404']
    // 如果是白名单里的就直接跳转
    if (whiteList.includes(to.path)) {
      next()
    } else {
      // 不是就跳转登录页面
      next('/login')
    }
  }
})
